# -*- coding: utf-8 -*-
#  用于第一层，主界面，login等
# @Time    ： 2022/3/18  1:32
# @Auther  ： 徐良
# File     :  mainDecorators.py

# def wrapper(fn):                            # wrapper:装饰器,fn目标函数
#     def inner(*args,**kwargs):
#         # 在目标函数之前......
#         ret = fn(*args, **kwargs)           # 执行目标函数
#         # 在目标函数执行之后......
#         return ret
#     return inner        # 不能加()
#
# @wrapper
# def target():
#     pass


def modularSwitch(tabChange):
    """
    主界面页签切换，也就是子模块切换，检查被切换的的界面是否有属性deleteList,updateList,insertFlag是否为1
    如何有则，不切换
    调用被切换的检查函数
    :param tabChange:
    :return:
    """
    def inner(self, *args, **kwargs):
        newPage = args[0]
        count = self.tabWidget.count()
        rList = []
        for i in range(0, count):
            if i != newPage:
                tab = self.tabWidget.widget(i)
                if tab.objectName() == 'main_0001':
                    result = self.tabChangeBefore()
                else:
                    result = tab.tabChangeBefore()
                rList.append(result)
        # print(rList)
        ret = tabChange(self, *args, **kwargs)
        return ret
    return inner

